import request from '../../request/request'

/**
 * @typedef {Object} StockOperateDTO
 * @property {number} medicineId - 药品ID
 * @property {number} quantity - 操作数量
 * @property {string} warehouseLocation - 存放位置
 * @property {string} remark - 备注
 * @property {number} operatorId - 操作人ID
 */

/**
 * @typedef {Object} StockRecordQueryDTO
 * @property {string} [medicineName] - 药品名称
 * @property {string} [operationType] - 操作类型
 * @property {string} [startTime] - 开始时间
 * @property {string} [endTime] - 结束时间
 * @property {number} [pageNum] - 页码
 * @property {number} [pageSize] - 每页数量
 */

// 获取库存列表
export function getStockList(data) {
  return request({
    url: '/medicineStock/list',
    method: 'post',
    data
  })
}

// 获取库存变动记录
export function getStockRecords(data) {
  return request({
    url: '/medicineStock/records',
    method: 'post',
    data
  })
}

// 药品入库
export function stockIn(data) {
  return request({
    url: '/medicineStock/in',
    method: 'post',
    data
  })
}

// 药品出库
export function stockOut(data) {
  return request({
    url: '/medicineStock/out',
    method: 'post',
    data
  })
}

// 库存调整
export function adjustStock(data) {
  return request({
    url: '/medicineStock/adjust',
    method: 'post',
    data
  })
}

// 获取库存统计信息
export function getStockStats() {
  return request({
    url: '/medicineStock/stats',
    method: 'get'
  })
}

// 搜索药品列表
export function searchMedicineList(data) {
  return request({
    url: '/medicineInfo/search',
    method: 'post',
    data
  })
}

// 批量库存操作
export function batchStockOperation(data) {
  return request({
    url: '/medicineStock/batch',
    method: 'post',
    data
  })
}

// 获取库存预警
export function getStockWarnings() {
  return request({
    url: '/medicineStock/warnings',
    method: 'get'
  })
}
